package com.konsung.ksdc.bean.netbean;

import android.os.Parcel;
import android.os.Parcelable;

import java.util.List;

/**
 * 商品关系信息bean
 * Created by DLX on 2016/5/27 0027.
 */
public class OrderProductNetBean implements Parcelable {

    private String id;  // 产品关系的orderPorductId

    /**
     * 商品价格
     */
    private String productPrice;

    /**
     * 购买数量
     */
    private String shoppingNumber;

    /**
     * 订单商品状态
     */
    private String status;

    /**
     * 优惠价
     */
    private String favor;

    /**
     * 产品型号
     */
    private String productStyle;

    private String refundTime; // 申请退货时间
    private String exchangeReason; // 退货原因
    private String refundConfigTime; // 确认退货时间

    private String exchangeTime; // 申请换货时间
    private String refundReason; // 换货原因
    private String exchangeConfigTime; // 确认换货时间

    private String cancleTime; // 取消时间
    private String cancleReason; // 取消原因

    private String evaluateTitle; // 商品评价详情

    private String productId; // 产品id
    /**
     * 商品名字
     */
    private String productName;

    /**
     * 商品副标题
     */
    private String subTitle;

    /**
     * 商品图标地址
     */
    private String productIconPath;

    /**
     * 退换货寄货信息
     */
    private List<ExpressDetailNetBean> shipments;

    /**
     * 获取商品关系主键
     * @return 商品关系主键
     */
    public String getId() {
        return id;
    }

    /**
     * 设置商品关系主键
     * @param id 商品关系主键
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 获取商品id
     * @return 商品id
     */
    public String getProductId() {
        return productId;
    }

    /**
     * 设置商品id
     * @param productId 商品id
     */
    public void setProductId(String productId) {
        this.productId = productId;
    }

    /**
     * 获取商品副标题
     * @return 商品副标题
     */
    public String getSubTitle() {
        return subTitle;
    }

    /**
     * 设置商品副标题
     * @param subTitle 商品副标题
     */
    public void setSubTitle(String subTitle) {
        this.subTitle = subTitle;
    }

    /**
     * 获取快递信息集合
     * @return 快递信息集合
     */
    public List<ExpressDetailNetBean> getShipments() {
        return shipments;
    }

    /**
     * 设置快递信息集合
     * @param shipments 快递信息集合
     */
    public void setShipments(List<ExpressDetailNetBean> shipments) {
        this.shipments = shipments;
    }

    /**
     * 获取商品名称
     * @return 商品名称
     */
    public String getProductName() {
        return productName;
    }

    /**
     * 设置商品名称
     * @param productName 商品名称
     */
    public void setProductName(String productName) {
        this.productName = productName;
    }

    /**
     * 获取商品图标url
     * @return 商品图标url
     */
    public String getProductIconPath() {
        return productIconPath;
    }

    /**
     * 设置商品图标url
     * @param productIconPath 商品图标url
     */
    public void setProductIconPath(String productIconPath) {
        this.productIconPath = productIconPath;
    }

    /**
     * 获取商品原价
     * @return 商品原价
     */
    public String getProductPrice() {
        return productPrice;
    }

    /**
     * 设置商品原价
     * @param productPrice 商品原价
     */
    public void setProductPrice(String productPrice) {
        this.productPrice = productPrice;
    }

    /**
     * 获取购买的商品数量
     * @return 购买的商品数量
     */
    public String getShoppingNumber() {
        return shoppingNumber;
    }

    /**
     * 设置购买的商品数量
     * @param shoppingNumber 购买的商品数量
     */
    public void setShoppingNumber(String shoppingNumber) {
        this.shoppingNumber = shoppingNumber;
    }

    /**
     * 获取订单商品状态
     * @return 订单商品状态
     */
    public String getStatus() {
        return status;
    }

    /**
     * 设置订单商品状态
     * @param status 订单商品状态
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * 获取商品优惠价
     * @return 商品优惠价
     */
    public String getFavor() {
        return favor;
    }

    /**
     * 设置商品优惠价
     * @param favor 商品优惠价
     */
    public void setFavor(String favor) {
        this.favor = favor;
    }

    /**
     * 获取产品型号
     * @return 产品型号
     */
    public String getProductStyle() {
        return productStyle;
    }

    /**
     * 设置产品型号
     * @param productStyle 产品型号
     */
    public void setProductStyle(String productStyle) {
        this.productStyle = productStyle;
    }

    /**
     * 获取退货时间
     * @return 退货时间
     */
    public String getRefundTime() {
        return refundTime;
    }

    /**
     * 设置退货时间
     * @param refundTime 退货时间
     */
    public void setRefundTime(String refundTime) {
        this.refundTime = refundTime;
    }

    /**
     * 获取换货原因
     * @return 换货原因
     */
    public String getExchangeReason() {
        return exchangeReason;
    }

    /**
     * 设置换货原因
     * @param exchangeReason 换货原因
     */
    public void setExchangeReason(String exchangeReason) {
        this.exchangeReason = exchangeReason;
    }

    /**
     * 获取确认退货时间
     * @return 确认退货时间
     */
    public String getRefundConfigTime() {
        return refundConfigTime;
    }

    /**
     * 设置确认退货时间
     * @param refundConfigTime 确认退货时间
     */
    public void setRefundConfigTime(String refundConfigTime) {
        this.refundConfigTime = refundConfigTime;
    }

    /**
     * 获取换货申请时间
     * @return 换货申请时间
     */
    public String getExchangeTime() {
        return exchangeTime;
    }

    /**
     * 设置换货申请时间
     * @param exchangeTime 换货申请时间
     */
    public void setExchangeTime(String exchangeTime) {
        this.exchangeTime = exchangeTime;
    }

    /**
     * 获取退货原因
     * @return 退货原因
     */
    public String getRefundReason() {
        return refundReason;
    }

    /**
     * 设置退货原因
     * @param refundReason 退货原因
     */
    public void setRefundReason(String refundReason) {
        this.refundReason = refundReason;
    }

    /**
     * 获取换货确认时间
     * @return 换货确认时间
     */
    public String getExchangeConfigTime() {
        return exchangeConfigTime;
    }

    /**
     * 设置换货确认时间
     * @param exchangeConfigTime 换货确认时间
     */
    public void setExchangeConfigTime(String exchangeConfigTime) {
        this.exchangeConfigTime = exchangeConfigTime;
    }

    /**
     * 获取取消时间
     * @return 取消时间
     */
    public String getCancleTime() {
        return cancleTime;
    }

    /**
     * 设置取消时间
     * @param cancleTime 取消时间
     */
    public void setCancleTime(String cancleTime) {
        this.cancleTime = cancleTime;
    }

    /**
     * 获取取消原因
     * @return 取消原因
     */
    public String getCancleReason() {
        return cancleReason;
    }

    /**
     * 设置取消原因
     * @param cancleReason 取消原因
     */
    public void setCancleReason(String cancleReason) {
        this.cancleReason = cancleReason;
    }

    /**
     * 获取订单商品评价信息
     * @return 订单商品评价信息
     */
    public String getEvaluateTitle() {
        return evaluateTitle;
    }

    /**
     * 设置订单商品评价信息
     * @param evaluateTitle 订单商品评价信息
     */
    public void setEvaluateTitle(String evaluateTitle) {
        this.evaluateTitle = evaluateTitle;
    }

    /**
     * 构造方法
     */
    public OrderProductNetBean() {
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(this.id);
        dest.writeString(this.productId);
        dest.writeString(this.productName);
        dest.writeString(this.subTitle);
        dest.writeString(this.productIconPath);
        dest.writeTypedList(this.shipments);
        dest.writeString(this.productPrice);
        dest.writeString(this.shoppingNumber);
        dest.writeString(this.status);
        dest.writeString(this.favor);
        dest.writeString(this.productStyle);
        dest.writeString(this.refundTime);
        dest.writeString(this.exchangeReason);
        dest.writeString(this.refundConfigTime);
        dest.writeString(this.exchangeTime);
        dest.writeString(this.refundReason);
        dest.writeString(this.exchangeConfigTime);
        dest.writeString(this.cancleTime);
        dest.writeString(this.cancleReason);
        dest.writeString(this.evaluateTitle);
    }

    /**
     * 序列化实体类对象
     * @param in Parcel对象
     */
    protected OrderProductNetBean(Parcel in) {
        this.id = in.readString();
        this.productId = in.readString();
        this.productName = in.readString();
        this.subTitle = in.readString();
        this.productIconPath = in.readString();
        this.shipments = in.createTypedArrayList(ExpressDetailNetBean.CREATOR);
        this.productPrice = in.readString();
        this.shoppingNumber = in.readString();
        this.status = in.readString();
        this.favor = in.readString();
        this.productStyle = in.readString();
        this.refundTime = in.readString();
        this.exchangeReason = in.readString();
        this.refundConfigTime = in.readString();
        this.exchangeTime = in.readString();
        this.refundReason = in.readString();
        this.exchangeConfigTime = in.readString();
        this.cancleTime = in.readString();
        this.cancleReason = in.readString();
        this.evaluateTitle = in.readString();
    }

    public static final Creator<OrderProductNetBean> CREATOR = new
            Creator<OrderProductNetBean>() {
                @Override
                public OrderProductNetBean createFromParcel(Parcel source) {
                    return new OrderProductNetBean(source);
                }

                @Override
                public OrderProductNetBean[] newArray(int size) {
                    return new OrderProductNetBean[size];
                }
            };
}
